import request from './request';

/**
 * 获取员工列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页条数
 * @param {string} params.keyword - 关键词
 * @param {number} params.departmentId - 部门ID
 * @returns {Promise}
 */
export function listEmployees(params) {
  return request({
    url: '/employees',
    method: 'get',
    params
  });
}

/**
 * 获取所有员工列表（不分页）
 * @returns {Promise}
 */
export function getEmployees() {
  return request({
    url: '/employees',
    method: 'get',
    params: { pageSize: 1000 } // 设置较大的页面大小以获取所有员工
  });
}

/**
 * 创建员工记录
 * @param {Object} data - 员工信息
 * @param {string} data.name - 姓名
 * @param {string} data.gender - 性别
 * @param {number} data.age - 年龄
 * @param {string} data.phone - 电话
 * @param {string} data.email - 邮箱
 * @param {number} data.departmentId - 部门ID
 * @param {string} data.position - 职位
 * @param {string} data.entryDate - 入职日期
 * @param {string} data.address - 地址
 * @param {string} data.education - 学历
 * @returns {Promise}
 */
export function createEmployee(data) {
  return request({
    url: '/employees',
    method: 'post',
    data
  });
}

/**
 * 获取员工详情
 * @param {number} id - 员工ID
 * @returns {Promise}
 */
export function getEmployee(id) {
  return request({
    url: `/employees/${id}`,
    method: 'get'
  });
}

/**
 * 更新员工信息
 * @param {number} id - 员工ID
 * @param {Object} data - 员工信息
 * @returns {Promise}
 */
export function updateEmployee(id, data) {
  return request({
    url: `/employees/${id}`,
    method: 'put',
    data
  });
}

/**
 * 删除员工记录
 * @param {number} id - 员工ID
 * @returns {Promise}
 */
export function deleteEmployee(id) {
  return request({
    url: `/employees/${id}`,
    method: 'delete'
  });
}